﻿using Castle.Facilities.Logging;
using Castle.MicroKernel.Registration;
using Castle.MicroKernel.SubSystems.Configuration;
using Castle.Windsor;

namespace User.Web.UI.Helper.CastleWindsor
{
    /// <summary>
    /// Installer für Log4Net
    /// </summary>
    public class LoggingInstaller : IWindsorInstaller
    {
        /// <summary>
        /// Performs the installation in the <see cref="T:Castle.Windsor.IWindsorContainer"/>.
        /// </summary>
        /// <param name="container">The container.</param><param name="store">The configuration store.</param>
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            //http://docs.castleproject.org/Windsor.Windsor-Tutorial-Part-Five-Adding-logging-support.ashx
            //ACHTUNG: die Config Datei "log4net.config" muss bei einem Webprojekt direkt im Hauptverzeichnis liegen,
            //daher wurde diese extra dort hin kopiert und es wird nicht die Datei aus diesem Projekt verwendet!
            container.AddFacility<LoggingFacility>(f => f.UseLog4Net());
        }
    }
}
